<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<!-- Mirrored from www.wolfssl.com/wolfSSL/wolfssl-keil-mdk-arm.html by HTTrack Website Copier/3.x [XR&CO'2014], Tue, 17 Jan 2017 13:26:40 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=UTF-8" /><!-- /Added by HTTrack -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="Generator" content="iWeb 3.0.4"/>
<meta name="iWeb-Build" content="local-build-20170103"/>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
<meta name="viewport" content="width=770"/>
<title>wolfSSL - Docs | Getting Started with wolfSSL and Keil MDK-ARM</title>
<link rel="stylesheet" type="text/css" media="screen,print" href="wolfssl-keil-mdk-arm_files/wolfssl-keil-mdk-arm.css"/>
<!--[if lt IE 8]><link rel='stylesheet' type='text/css' media='screen,print' href='wolfssl-keil-mdk-arm_files/wolfssl-keil-mdk-armIE.css'/><![endif]-->
<!--[if gte IE 8]><link rel='stylesheet' type='text/css' media='screen,print' href='Media/IE8.css'/><![endif]-->
<script type="text/javascript" src="Scripts/iWebSite.js"></script>
<script type="text/javascript" src="wolfssl-keil-mdk-arm_files/wolfssl-keil-mdk-arm.js"></script>
<meta name="description" content="Getting started guide for using wolfSSL lightweight SSL with Keil MDK-ARM and uVision IDE."/><meta name="keywords" content="embedded ssl, keil mdk-arm ssl, mdkarm ssl, mdk-arm ssl, keil ssl, embedded crypto, ssl library, source code, openssl alternative, tls 1.2, dtls, github ssl, tls library, open source projects, open source ssl, open source tls, ssl, tls, ssl porting, small openssl, smart grid, connected home, ecc, lightweight ssl, suite b, encryption security software, ssl inspection"/><meta name="robots" content="follow,index"/> <script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','../../www.google-analytics.com/analytics.js','ga');ga('create','UA-64826966-1','auto');ga('send','pageview');</script>
 
<script>//<![CDATA[
window.zEmbed||function(e,t){var n,o,d,i,s,a=[],r=document.createElement("iframe");window.zEmbed=function(){a.push(arguments)},window.zE=window.zE||window.zEmbed,r.src="javascript:false",r.title="",r.role="presentation",(r.frameElement||r).style.cssText="display: none",d=document.getElementsByTagName("script"),d=d[d.length-1],d.parentNode.insertBefore(r,d),i=r.contentWindow,s=i.document;try{o=s}catch(c){n=document.domain,r.src='javascript:var d=document.open();d.domain="'+n+'";void(0);',o=s}o.open()._l=function(){var o=this.createElement("script");n&&(this.domain=n),o.id="js-iframe-async",o.src=e,this.t=+new Date,this.zendeskHost=t,this.zEQueue=a,this.body.appendChild(o)},o.write('<body onload="document._l();">'),o.close()}("../../assets.zendesk.com/embeddable_framework/main.js","wolfssl.zendesk.com");
//]]></script>
  </head>
<body style="background: rgb(255, 255, 255); margin: 0pt; " onload="onPageLoad();">
<div style="text-align: center; ">
<div style="margin-bottom: 20px; margin-left: auto; margin-right: auto; margin-top: 20px; overflow: hidden; position: relative; word-wrap: break-word;  background: rgb(255, 255, 255); text-align: left; width: 770px; " id="body_content">
<div style="float: left; margin-left: 0px; position: relative; width: 770px; z-index: 0; " id="nav_layer">
<div style="height: 0px; line-height: 0px; " class="bumper"> </div>
<div style="clear: both; height: 0px; line-height: 0px; " class="spacer"> </div>
</div>
<div style="float: left; height: 0px; line-height: 0px; margin-left: 0px; position: relative; width: 770px; z-index: 10; " id="header_layer">
<div style="height: 0px; line-height: 0px; " class="bumper"> </div>
</div>
<div style="margin-left: 0px; position: relative; width: 770px; z-index: 5; " id="body_layer">
<div style="height: 0px; line-height: 0px; " class="bumper"> </div>
<div id="id1" style="height: 11980px; left: 35px; position: absolute; top: 232px; width: 701px; z-index: 1; " class="style_SkipStroke_1 shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_701_11980" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-top: 0pt; " class="paragraph_style">This is a getting started guide for using the wolfSSL lightweight SSL/TLS library (formerly CyaSSL) with Keil MDK-ARM and uVision.  This document is available on this page in HTML format, or available for download in PDF form from the following URL:<br/></p>
<p class="paragraph_style"><br/></p>
<p class="paragraph_style"><a title="https://www.wolfssl.com/documentation/CyaSSLForMDK-ARM-GettingStarted-v1.0.pdf" href="https://www.wolfssl.com/documentation/CyaSSLForMDK-ARM-GettingStarted-v1.0.pdf">https://www.wolfssl.com/documentation/CyaSSLForMDK-ARM-GettingStarted-v1.0.pdf</a><br/></p>
<p class="paragraph_style"><br/></p>
<p class="paragraph_style_1">Contents<br/></p>
<p class="paragraph_style_2"><span class="style"><br/></span></p>
<p class="paragraph_style_2"><span class="style">1.  Getting Started<br/></span></p>
<p class="paragraph_style_2"><span class="style">2.  Configuration<br/></span></p>
<p class="paragraph_style_3"><span class="style">        2.1  Selecting KEIL-RL Components<br/></span></p>
<p class="paragraph_style_3"><span class="style">        2.2  CyaSSL Wizard<br/></span></p>
<p class="paragraph_style_3"><span class="style">        2.3  KEIL-RL Wizard<br/></span></p>
<p class="paragraph_style_2"><span class="style">3.  Building your Apps<br/></span></p>
<p class="paragraph_style_3"><span class="style">        3.1  Building CyaSSL Library<br/></span></p>
<p class="paragraph_style_3"><span class="style">        3.2  Building App Framework<br/></span></p>
<p class="paragraph_style_2"><span class="style">4.  Release Files<br/></span></p>
<p class="paragraph_style_4"><span class="style"><br/></span></p>
<p class="paragraph_style_4"><span class="style"><br/></span></p>
<p class="paragraph_style_1">1.  Getting Started<br/></p>
<p class="paragraph_style_2"><span class="style"><br/></span></p>
<p class="paragraph_style_5"><span class="style">The Keil MDK-ARM package has been tested with the following environment: <br/></span></p>
<ol>
<li style="line-height: 17px; padding-left: 36px; text-indent: -36px; " class="full-width">
<p style="text-indent: -36px; " class="paragraph_style_6"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 36px; " class="inline-block"></span><span class="style_1">CyaSSL</span><span class="style">: Release v2.5.0<br/></span></p>
</li>
<li style="line-height: 17px; padding-left: 36px; text-indent: -36px; " class="full-width">
<p style="text-indent: -36px; " class="paragraph_style_6"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 36px; " class="inline-block"></span><span class="style_1">Tool Chain</span><span class="style">: MDK-ARM 4.71.0.0<br/></span></p>
</li>
<li style="line-height: 17px; padding-left: 36px; text-indent: -36px; " class="full-width">
<p style="text-indent: -36px; " class="paragraph_style_6"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 36px; " class="inline-block"></span><span class="style_1">Target OS, Middleware</span><span class="style">: KEIL-RL (RTX, RL-TCPnet, RL-FlashFS)<br/></span></p>
</li>
<li style="line-height: 17px; padding-left: 36px; text-indent: -36px; " class="full-width">
<p style="text-indent: -36px; " class="paragraph_style_7"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 36px; " class="inline-block"></span><span class="style_1">Target Hardware, Board</span><span class="style">: MCBSTM32F200 with STM32F207IG, on chip memory of 128kB RAM, 1MB Flash. ULINKpro for download and debug.<br/></span></p>
</li>
</ol>
<p class="paragraph_style_5"><span class="style"><br/></span></p>
<p class="paragraph_style_8"><span class="style">Start up steps:<br/></span></p>
<p class="paragraph_style_8"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style">1)  Set up the MPU board and KEIL-µVision IDE<br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<ol>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_10"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span><span class="style">Connect USB Power, ULINKpro to the board, and Ethernet to the router if you plan to use SSL/TLS. Users who wish to use only the CTaoCrypt cryptography library do not need the Ethernet connection. <br/></span></p>
</li>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_10"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span><span class="style"><br/></span></p>
</li>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_10"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span><span class="style">Set up KEIL-µVision on the PC. <br/></span></p>
</li>
</ol>
<p class="paragraph_style_5"><span class="style"><br/></span></p>
<p class="paragraph_style_5"><span class="style">2)  Get the necessary source files<br/></span></p>
<ol>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_10"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span><span class="style"><br/></span></p>
</li>
<li style="line-height: 17px; padding-left: 24px; text-indent: -7px; " class="full-width">
<p style="text-indent: -7px; " class="paragraph_style_11"><span style="font-size: 12px; " class="Bullet">-</span><span style="width: 3px; " class="inline-block"></span><span class="style">Get the CyaSSL zip file (cyassl-x.x.x.zip). This includes Keil MDK-ARM specific files. <br/></span></p>
</li>
<li style="line-height: 17px; padding-left: 24px; text-indent: -24px; " class="full-width">
<p style="text-indent: -24px; " class="paragraph_style_12"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 24px; " class="inline-block"></span><a title="http://yassl.com/yaSSL/download/downloadForm.php" href="http://yassl.com/yaSSL/download/downloadForm.php">Download</a><span class="style"> and unzip the CyaSSL package under the appropriate folder. It includes the standard CyaSSL release files as well as MDK-ARM specific files. MDK-ARM specific files are located under the IDE¥MDK-ARM folder. <br/></span></p>
</li>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_10"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span><span class="style"><br/></span></p>
</li>
<li style="line-height: 17px; padding-left: 24px; text-indent: -7px; " class="full-width">
<p style="text-indent: -7px; " class="paragraph_style_11"><span style="font-size: 12px; " class="Bullet">-</span><span style="width: 3px; " class="inline-block"></span><span class="style">STM32F2xx standard peripherals library<br/></span></p>
</li>
<li style="line-height: 17px; padding-left: 24px; text-indent: -24px; " class="full-width">
<p style="text-indent: -24px; " class="paragraph_style_13"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 24px; " class="inline-block"></span><span class="style">Go to “</span><a title="http://my.st.com" href="http://my.st.com/">my.st.com</a><span class="style">” and search for “STSW-STM32062”. Download “stsw-stm32062.zip”, unzip, and copy “Libraries\STM32F2xx_StdPeriph_Driver/{inc, src}” to the “IDE\MDK-ARM\STM32” folder, and<br/></span></p>
</li>
<li style="line-height: 17px; padding-left: 24px; text-indent: -24px; " class="full-width">
<p style="text-indent: -24px; " class="paragraph_style_13"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 24px; " class="inline-block"></span><span class="style">“Project\STM32F2xx_StdPeriph_Template\stm32f2xx_conf.h” to “IDE\MDK-ARM\STM32F2xx_StdPeriph_Lib\inc”.<br/></span></p>
</li>
</ol>
<p class="paragraph_style_5"><span class="style"><br/></span></p>
<p class="paragraph_style_14"><span class="style">3)  Rebuild and download to the board<br/></span></p>
<p class="paragraph_style_14"><span class="style"><br/></span></p>
<ol>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_10"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span><span class="style">If your MDK-ARM files are installed under the default directory (c:\Keil), simply go to “KEIL-Project -&gt; Projects” and double click on &quot;MDK-ARM.uvproj &quot; to start up the uVision IDE.<br/></span></p>
</li>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_10"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span><span class="style"><br/></span></p>
</li>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_10"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span><span class="style">If MDK-ARM is not installed in the default location, you need to change all of the referencing path definitions in the project file to the install location on your development machine. Please refer to “note a)” at the end of this section.<br/></span></p>
</li>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_10"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span><span class="style"><br/></span></p>
</li>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_15"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span>Select &quot;MDK-RL-FULL&quot; target from the pull down menu:<br/></p>
</li>
</ol>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_17"><br/></p>
<div class="paragraph paragraph_style_17"><div style="height: 360px; width: 473px;  height: 360px; position: relative; width: 473px; " class="tinyText style_SkipStroke inline-block"><img src="wolfssl-keil-mdk-arm_files/droppedImage.jpg" alt="" style="border: none; height: 360px; width: 473px; "/></div><br/></div>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_16"><br/></p>
<ol>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_15"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span>Rebuild the target using “Project -&gt; Rebuild all target files”. <br/></p>
</li>
</ol>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_17"><br/></p>
<div class="paragraph paragraph_style_17"><div style="height: 369px; width: 635px;  height: 369px; position: relative; width: 635px; " class="tinyText style_SkipStroke inline-block"><img src="wolfssl-keil-mdk-arm_files/droppedImage_1.jpg" alt="" style="border: none; height: 369px; width: 635px; "/></div><br/></div>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_16"><br/></p>
<ol>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_15"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span>The compiled target file contains CyaSSL, MDK-RL (RTX, TCPnet and FlashFS), test apps and a tiny shell for invoking the apps through the PC keyboard.<br/></p>
</li>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_15"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span><br/></p>
</li>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_15"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span>Download and start the debug session by selecting “Debug -&gt; Start/Stop Debug Session”.<br/></p>
</li>
</ol>
<p class="paragraph_style_17"><br/></p>
<p class="paragraph_style_17"><br/></p>
<div class="paragraph paragraph_style_17"><div style="height: 430px; width: 578px;  height: 430px; position: relative; width: 578px; " class="tinyText style_SkipStroke inline-block"><img src="wolfssl-keil-mdk-arm_files/droppedImage_2.jpg" alt="" style="border: none; height: 430px; width: 578px; "/></div><br/></div>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_16"><br/></p>
<ol>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_15"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span>Select &quot;Debug (printf) Viewer&quot; from the UART tool button. Drag the top of the viewer to pop up and expand the window as desired.<br/></p>
</li>
</ol>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_17"><br/></p>
<div class="paragraph paragraph_style_17"><div style="height: 327px; width: 693px;  height: 327px; position: relative; width: 693px; " class="tinyText style_SkipStroke inline-block"><img src="wolfssl-keil-mdk-arm_files/droppedImage_3.jpg" alt="" style="border: none; height: 328px; width: 693px; "/></div><br/></div>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_16"><br/></p>
<ol>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_15"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span>Make a copy of the certificate files under the “cert” folder to the SD card and insert it to the board’s SD card slot.<br/></p>
</li>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_15"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span><br/></p>
</li>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_15"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span>Click the Start button to execute the downloaded program. You should see the shell start up message on the window.<br/></p>
</li>
</ol>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_17"><br/></p>
<div class="paragraph paragraph_style_17"><div style="height: 502px; width: 675px;  height: 502px; position: relative; width: 675px; " class="tinyText style_SkipStroke inline-block"><img src="wolfssl-keil-mdk-arm_files/droppedImage_4.jpg" alt="" style="border: none; height: 502px; width: 675px; "/></div><br/></div>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_16">Place the mouse curser on the window and click to get focus on it. Now you are able to type in any of the available shell commands.<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_18">Date: 0/0/2048, Time: 00:01:10<br/></p>
<p class="paragraph_style_18">Starting Shell<br/></p>
<p class="paragraph_style_18">&gt;<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_16">If the time displayed is not correct, set the RTC timer using the “time” command.<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_18">&gt;time -d 4/4/2013   &lt;-  set date<br/></p>
<p class="paragraph_style_18">&gt;time -t 20:59:0    &lt;-  set time<br/></p>
<p class="paragraph_style_18">&gt;time               &lt;-  get time<br/></p>
<p class="paragraph_style_18">Date: 4/4/2013, Time: 20:59:02<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_16">Verify that the compiled CyaSSL library is working using the “test” command. For the tests that require keys and certificates, copy the files under “certs” folder to SD memory and insert it to the board prior to running the “test” command.<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_18">&gt;test<br/></p>
<p class="paragraph_style_18">MD5      test passed!<br/></p>
<p class="paragraph_style_18">MD2      test passed!<br/></p>
<p class="paragraph_style_18">MD4      test passed!<br/></p>
<p class="paragraph_style_18">SHA      test passed!<br/></p>
<p class="paragraph_style_18">...<br/></p>
<p class="paragraph_style_18">PWDBASED test passed!<br/></p>
<p class="paragraph_style_18">ECC      test passed!<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_16">You can also benchmark the library with the “benchmark” command.<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_18">&gt;benchmark                          <br/></p>
<p class="paragraph_style_18">AES      25 kB took 0.028 seconds,   0.86 MB/s<br/></p>
<p class="paragraph_style_18">Camellia 25 kB took 0.031 seconds,   0.80 MB/s<br/></p>
<p class="paragraph_style_18">...<br/></p>
<p class="paragraph_style_18">ECC  256 key generation  252.11 milliseconds, avg over 5 iterations<br/></p>
<p class="paragraph_style_18">EC-DHE   key agreement   255.91 milliseconds, avg over 5 iterations<br/></p>
<p class="paragraph_style_18">EC-DSA   sign time       272.75 milliseconds, avg over 5 iterations<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_16">The “echoserver” command simply echoes messages received from the client. You can invoke the echoserver in background mode with a tailing “&amp;”.<br/></p>
<p class="paragraph_style_16">                                          <br/></p>
<p class="paragraph_style_18">&gt;echoserver&amp;<br/></p>
<p class="paragraph_style_18">&quot;echoserver&quot; is running with the background mode.<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_16">After starting the echoserver, start “echoclient” and type in a string of characters. The destination of “echoclient” is localhost (127.0.0.1), port 11111, while “echoserver” listens to port 11111 by default.<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_16">Use the “quit” command to terminate both the server and client.<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_18">&gt;echoclient<br/></p>
<p class="paragraph_style_18">ABCDEFG<br/></p>
<p class="paragraph_style_18">ABCDEFG<br/></p>
<p class="paragraph_style_18">1234567890<br/></p>
<p class="paragraph_style_18">1234567890<br/></p>
<p class="paragraph_style_18">quit<br/></p>
<p class="paragraph_style_18">sending server shutdown command: quit!<br/></p>
<p class="paragraph_style_18">client sent quit command: shutting down!<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_16">The “server” command starts a simple SSL/TLS server for single transaction. Its default listening port is 11111.<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_18">&gt;server&amp;<br/></p>
<p class="paragraph_style_18">&quot;server&quot; is running with the background mode.<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_16">The “client” command has options for testing various protocol settings. Try using the “-g” option to make the client send a “HTTP GET” message. You should see the response from “server”. Its default destination is again localhost(127.0.0.1), port 11111.  (See “client -?” option for further usage.)<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_18">&gt;client -g <br/></p>
<p class="paragraph_style_18">SSL connect ok, sending GET...<br/></p>
<p class="paragraph_style_18">Client message: GET /index.html HTTP/1.0<br/></p>
<p class="paragraph_style_18"><br/></p>
<p class="paragraph_style_18">Server response: I hear you fa shizzle!<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_16">You are also able to test a connection from the board to an external SSL server. Be sure the board is connected to the router and the destination. For example, start up a web server on a separate machine and a make sure a page using HTTPS is available. Invoke the “client” command with the following options, “-h” for the server IP address, “-p” for the server port and “-v” for specifying the TLS/SSL version to use. With “-g” option, the command tries to get the “index.html” page under the document root.<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_18">&gt;client -h xxx.xxx.xxx.xxx -p 443 -g -v TLS1.1<br/></p>
<p class="paragraph_style_18">SSL connect ok, sending GET...<br/></p>
<p class="paragraph_style_18">Server response: HTTP/1.1 200 OK<br/></p>
<p class="paragraph_style_18">Content-Type: text/html<br/></p>
<p class="paragraph_style_18">...<br/></p>
<p class="paragraph_style_18"><br/></p>
<p class="paragraph_style_18">&lt;/body&gt;<br/></p>
<p class="paragraph_style_18">&lt;/html&gt;<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_19">Note a)<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_16">If MDK-ARM is not installed in the default installation location, you need to change all of the referencing path definitions in the project file to the install location.<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_16">Start up the project, ignoring the path error dialog boxes. After it has started, open each file’s property dialog box under the “MDK-ARM” file group and the following files under the “Configuration” file group:<br/></p>
<p class="paragraph_style_16">startup_stm32f2xx.s, File_Config.c. Net_config.c, Net_debug.c<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_16">Each file can be opened by right clicking the file.<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_16">Change the “c:\Keil” string in the path to your installation folder.<br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_17"><br/></p>
<div class="paragraph paragraph_style_17"><div style="height: 480px; width: 562px;  height: 480px; position: relative; width: 562px; " class="tinyText style_SkipStroke inline-block"><img src="wolfssl-keil-mdk-arm_files/droppedImage_5.jpg" alt="" style="border: none; height: 480px; width: 562px; "/></div><br/></div>
<p class="paragraph_style_17"><br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_1">2.  Configuration<br/></p>
<p class="paragraph_style_2"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style">CyaSSL for KEIL MDK-ARM allows the user to configure the library and applications with the following three layers.<br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style">1)  MDK-ARM Components<br/></span></p>
<ol>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_20"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span><span class="style">The package includes library files for RTX: multi-task RTOS, RL-TCPnet: TCP/IP protocol and RL-FlashFS: the file system. The user can choose an appropriate combination of the components to be included in the target application using the build target menu of the uVision IDE.<br/></span></p>
</li>
</ol>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style">2)  CyaSSL Configuration<br/></span></p>
<ol>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_10"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span><span class="style">The package includes the full feature set of the CyaSSL SSL/TLS and CTaoCrypt cryptography library. It also includes several sample applications and helper commands so that the user can explore and test the features of the library. The user can select specific sets of cryptography and cipher suites, SSL/TLS protocol versions, and other configuration parameters using the configuration wizard.<br/></span></p>
</li>
</ol>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style">3)  MDK-ARM Resource Configuration<br/></span></p>
<ol>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_10"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span><span class="style">The user can chose and set up specific configuration parameters for MDK-ARM components with the uVision configuration wizard.<br/></span></p>
</li>
</ol>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<div class="paragraph paragraph_style_21"><span class="style"></span><div style="height: 281px; width: 558px;  height: 281px; position: relative; width: 558px; " class="tinyText style_SkipStroke inline-block"><img src="wolfssl-keil-mdk-arm_files/droppedImage.png" alt="" style="border: none; height: 281px; width: 558px; "/></div><span class="tinyText"> </span><span class="style"><br/></span></div>
<ol>
<li style="line-height: 17px; padding-left: 36px; text-indent: -36px; " class="full-width">
<p style="text-indent: -36px; " class="paragraph_style_22"><span style="clear: left; float: left; font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 36px; " class="inline-block"></span><span class="style">Table 3.1 CyaSSL for KEIL MDK-ARM Configuration<br/></span></p>
</li>
</ol>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_1">2.1  Selecting KEIL MDK-ARM Components<br/></p>
<p class="paragraph_style_2"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style">There are three templates of the MDK-ARM components that are provided on the uVision build target pull down menu.<br/></span></p>
<p class="paragraph_style_21"><span class="style"><br/></span></p>
<p class="paragraph_style_21"><span class="style"><br/></span></p>
<div class="paragraph paragraph_style_21"><span class="style"></span><div style="height: 352px; width: 429px;  height: 352px; position: relative; width: 429px; " class="tinyText style_SkipStroke inline-block"><img src="wolfssl-keil-mdk-arm_files/droppedImage_6.jpg" alt="" style="border: none; height: 352px; width: 429px; "/></div><span class="tinyText"> </span><span class="style"><br/></span></div>
<p class="paragraph_style_21"><br/></p>
<p class="paragraph_style_17">uVision build target pull down menu<br/></p>
<p class="paragraph_style_16"><br/></p>
<ol>
<li style="line-height: 17px; padding-left: 14px; text-indent: -14px; " class="full-width" value="1">
<p style="text-indent: -14px; " class="paragraph_style_23"><span style="font-size: 12px; " class="Bullet">1)</span><span style="width: 3px; " class="inline-block"></span> MDK-RTX-TCP-FS is a complete build of the components. The target is executed in the multi-task mode under RTX. CyaSSL runs under the BSD Socket API of RL-TCPnet. It uses the RL-FlashFS API so that certificates and keys can be stored in SD memory on the board. <br/></p>
</li>
</ol>
<p class="paragraph_style_24"><br/></p>
<ol>
<li style="line-height: 17px; padding-left: 14px; text-indent: -14px; " class="full-width" value="2">
<p style="text-indent: -14px; " class="paragraph_style_23"><span style="font-size: 12px; " class="Bullet">2)</span><span style="width: 3px; " class="inline-block"></span>MDK-FS is for users of the CTaoCrypt cryptography library only, building only with RL-FlashFS. Applications and the CyaSSL library run in single threaded mode without RTX. TCPnet is not included.<br/></p>
</li>
</ol>
<p class="paragraph_style_24"><br/></p>
<ol>
<li style="line-height: 17px; padding-left: 14px; text-indent: -14px; " class="full-width" value="3">
<p style="text-indent: -14px; " class="paragraph_style_23"><span style="font-size: 12px; " class="Bullet">3)</span><span style="width: 3px; " class="inline-block"></span>MDK-BARE-METAL is also for use with the CTaoCrypt library when the user wants minimum resource usage in the final executable image. Certificates and keys need to be stored in memory buffers. (See CyaSSL Wizard option.)<br/></p>
</li>
</ol>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_16"><br/></p>
<p class="paragraph_style_1">2.2  CyaSSL Wizard<br/></p>
<p class="paragraph_style_2"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style">The CyaSSL configuration wizard is displayed by double clicking config-RTX-TCP-FS, config-FS or config-BARE-METAL in the “Configuration” file group. Select “Configuration Wizard” tab below the window for the wizard view. The user can select components to be included in the build or other options by selecting them in the wizard. For further information about the details of the build options, see “Chapter 2: Building CyaSSL” in the CyaSSL user manual.<br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<div class="paragraph paragraph_style_21"><span class="style"></span><div style="height: 524px; width: 577px;  height: 524px; position: relative; width: 577px; " class="tinyText style_SkipStroke inline-block"><img src="wolfssl-keil-mdk-arm_files/droppedImage_7.jpg" alt="" style="border: none; height: 524px; width: 577px; "/></div><span class="tinyText"> </span><span class="style"><br/></span></div>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_1">2.3  MDK-ARM Wizard<br/></p>
<p class="paragraph_style_2"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style">Other MDK-ARM configuration wizards are available under the Configuration file group. Those configuration files are shared among all the build targets and include the files listed below.<br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_21"><span class="style"><br/></span></p>
<div class="paragraph paragraph_style_21"><span class="style"></span><div style="height: 535px; width: 603px;  height: 535px; position: relative; width: 603px; " class="tinyText style_SkipStroke inline-block"><img src="wolfssl-keil-mdk-arm_files/droppedImage_8.jpg" alt="" style="border: none; height: 535px; width: 603px; "/></div><span class="tinyText"> </span><span class="style"><br/></span></div>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style">1)  Startup_stm32f2xx.s<br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<ol>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_10"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span><span class="style">Configures stack and heap memory sizes. This stack is used when single thread mode without RTX is selected. When RTX is used, this stack is used for the startup routine. The default stack size configuration accommodates either mode.<br/></span></p>
</li>
</ol>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<ol>
<li style="line-height: 17px; padding-left: 14px; text-indent: -14px; " class="full-width" value="2">
<p style="text-indent: -14px; " class="paragraph_style_25"><span style="font-size: 12px; " class="Bullet">2)</span><span style="width: 3px; " class="inline-block"></span><span class="style"> Net_Config.c<br/></span></p>
</li>
</ol>
<p class="paragraph_style_26"><span class="style"><br/></span></p>
<ol>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_10"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span><span class="style">Configures RL-TCPnet parameters. The user needs to set up the board’s IP and MAC address.<br/></span></p>
</li>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_10"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span><span class="style">The default configuration allocates just enough sockets and other resources to execute the CyaSSL examples.<br/></span></p>
</li>
</ol>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<ol>
<li style="line-height: 17px; padding-left: 14px; text-indent: -14px; " class="full-width" value="3">
<p style="text-indent: -14px; " class="paragraph_style_27"><span style="font-size: 12px; " class="Bullet">3)</span><span style="width: 3px; " class="inline-block"></span><span class="style"> RTX_Conf_CM.c<br/></span></p>
</li>
</ol>
<p class="paragraph_style_14"><span class="style"><br/></span></p>
<ol>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_10"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span><span class="style">The default configuration allocates just enough tasks for the CyaSSL examples. The example tasks using SSL/TLS (echoclient/echoserver, client/server) use statically allocated 12 Kbytes of stack space instead of using the stack defined for RTX task with the RTX wizard.<br/></span></p>
</li>
</ol>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<ol>
<li style="line-height: 17px; padding-left: 14px; text-indent: -14px; " class="full-width" value="4">
<p style="text-indent: -14px; " class="paragraph_style_28"><span style="font-size: 12px; " class="Bullet">4)</span><span style="width: 3px; " class="inline-block"></span><span class="style"> File_Config.c<br/></span></p>
</li>
</ol>
<p class="paragraph_style_29"><span class="style"><br/></span></p>
<ol>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_10"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span><span class="style">The default configuration enables SD memory file system.<br/></span></p>
</li>
</ol>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<ol>
<li style="line-height: 17px; padding-left: 14px; text-indent: -14px; " class="full-width" value="5">
<p style="text-indent: -14px; " class="paragraph_style_30"><span style="font-size: 12px; " class="Bullet">5)</span><span style="width: 3px; " class="inline-block"></span><span class="style"> Net_Debug.c<br/></span></p>
</li>
</ol>
<p class="paragraph_style_31"><span class="style"><br/></span></p>
<ol>
<li style="line-height: 17px; padding-left: 17px; text-indent: -17px; " class="full-width">
<p style="text-indent: -17px; " class="paragraph_style_10"><span style="font-size: 0px; position: relative; top: -7px; " class="Bullet"></span><span style="width: 17px; " class="inline-block"></span><span class="style">This configuration file needs to be enabled when TCPD_DM3.lib is used for network debug purpose. With the default build, the file is not included in the build.<br/></span></p>
</li>
</ol>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_1">3.  Building your Apps<br/></p>
<p class="paragraph_style_2"><span class="style"><br/></span></p>
<p class="paragraph_style_1">3.1  Building CyaSSL Library<br/></p>
<p class="paragraph_style_2"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style">For building the CyaSSL library to be linked with your application, remove all CyaSSL apps and shell in the CyaSSL configuration Wizard (config-RTX-TCP-FS.h/config-FS.h/config-BARE-METAL.h)<br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_21"><span class="style"><br/></span></p>
<div class="paragraph paragraph_style_21"><span class="style"></span><div style="height: 406px; width: 479px;  height: 406px; position: relative; width: 479px; " class="tinyText style_SkipStroke inline-block"><img src="wolfssl-keil-mdk-arm_files/droppedImage_9.jpg" alt="" style="border: none; height: 406px; width: 479px; "/></div><span class="tinyText"> </span><span class="style"><br/></span></div>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style">Select “Options for File main.c”, and remove “main.c” from the build.<br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<div class="paragraph paragraph_style_21"><span class="style"></span><div style="height: 256px; width: 330px;  height: 256px; position: relative; width: 330px; " class="tinyText style_SkipStroke inline-block"><img src="wolfssl-keil-mdk-arm_files/droppedImage_10.jpg" alt="" style="border: none; height: 256px; width: 330px; "/></div><span class="tinyText"> </span><span class="style"><br/></span></div>
<p class="paragraph_style_21"><span class="style"><br/></span></p>
<div class="paragraph paragraph_style_21"><span class="style"></span><div style="height: 243px; width: 406px;  height: 243px; position: relative; width: 406px; " class="tinyText style_SkipStroke inline-block"><img src="wolfssl-keil-mdk-arm_files/droppedImage_11.jpg" alt="" style="border: none; height: 243px; width: 406px; "/></div><span class="tinyText"> </span><span class="style"><br/></span></div>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style">Select “Project” -&gt; “Option for Target”, select the “Output” tab, and then select “*.lib” for the output.<br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_21"><span class="style"><br/></span></p>
<div class="paragraph paragraph_style_21"><span class="style"></span><div style="height: 349px; width: 442px;  height: 349px; position: relative; width: 442px; " class="tinyText style_SkipStroke inline-block"><img src="wolfssl-keil-mdk-arm_files/droppedImage_12.jpg" alt="" style="border: none; height: 349px; width: 442px; "/></div><span class="tinyText"> </span><span class="style"><br/></span></div>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style">Select “Project” -&gt; “Rebuild All Target Files” and get the *.lib file under the build folder.<br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_1">3.2  Building App Framework<br/></p>
<p class="paragraph_style_2"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style">If you want to use CyaSSL for KEIL MDK-ARM as an application framework and add your application into the framework, remove all CyaSSL apps and shell in the CyaSSL configuration Wizard (config-RTX-TCP-FS.h/config-FS.h/config-BARE-METAL.h).<br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_21"><span class="style"><br/></span></p>
<div class="paragraph paragraph_style_21"><span class="style"></span><div style="height: 440px; width: 518px;  height: 440px; position: relative; width: 518px; " class="tinyText style_SkipStroke inline-block"><img src="wolfssl-keil-mdk-arm_files/droppedImage_13.jpg" alt="" style="border: none; height: 440px; width: 518px; "/></div><span class="tinyText"> </span><span class="style"><br/></span></div>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style">Create a file group for your application by using the “Add Group” menu and clicking “Add Files to Group”. Insert a function call to the entry function of your application in “main.c” located in the “CyaSSL apps” file group.<br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<div class="paragraph paragraph_style_21"><span class="style"></span><div style="height: 383px; width: 693px;  height: 383px; position: relative; width: 693px; " class="tinyText style_SkipStroke inline-block"><img src="wolfssl-keil-mdk-arm_files/droppedImage_14.jpg" alt="" style="border: none; height: 383px; width: 693px; "/></div><span class="tinyText"> </span><span class="style"><br/></span></div>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_1">4.  Release Files<br/></p>
<p class="paragraph_style_2"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style">The CyaSSL zip file (cyassl-x.x.x.zip) contains the standard CyaSSL release files and MDK specific files. MDK specific files are placed under IDE\MDK-ARM folder, while all others are kept in the standard CyaSSL release folder structure.<br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style">The following are brief descriptions of the folders included in the download package:<br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style_1">certs</span><span class="style">: Cert and Key files<br/></span></p>
<p class="paragraph_style_9"><span class="style_1">ctaocrypt</span><span class="style">: files for CTaoCrypt cryptography library<br/></span></p>
<p class="paragraph_style_9"><span class="style_1">cyassl</span><span class="style">: CyaSSL header files<br/></span></p>
<p class="paragraph_style_9"><span class="style_1">examples</span><span class="style">: Example app files.<br/></span></p>
<p class="paragraph_style_9"><span class="style_1">src</span><span class="style">: files for CyaSSL library<br/></span></p>
<p class="paragraph_style_9"><span class="style_1">IDE\MDK-ARM</span><span class="style">: KEIL specific files.<br/></span></p>
<p class="paragraph_style_9"><span class="style">    </span><span class="style_1">MDK-ARM</span><span class="style"><br/></span></p>
<p class="paragraph_style_9"><span class="style">            </span><span class="style_1">config</span><span class="style">: Configuration Wizard<br/></span></p>
<p class="paragraph_style_9"><span class="style">            </span><span class="style_1">CyaSSL</span><span class="style">: CyaSSL files for KEIL<br/></span></p>
<p class="paragraph_style_9"><span class="style">                        cyassl_KEIL_RL.c (CyaSSL KEIL-RL adjustment), main.c, shell.c, config.h<br/></span></p>
<p class="paragraph_style_9"><span class="style">    </span><span class="style_1">Projects</span><span class="style">: MDK-ARM uVision Project files<br/></span></p>
<p class="paragraph_style_9"><span class="style">    </span><span class="style_1">STM32F2xx_StdPeriph_Lib</span><span class="style">: STM32 standard peripheral drivers, start up<br/></span></p>
<p class="paragraph_style_9"><span class="style"><br/></span></p>
<p class="paragraph_style_9"><br/></p>
<p class="paragraph_style_5"><br/></p>
<p style="padding-bottom: 0pt; " class="paragraph_style_32">Copyright 2017 wolfSSL Inc.  All rights reserved.</p>
</div>
<div style="clear: both; height: 0px; line-height: 0px; " class="tinyText"> </div>
</div>
</div>
<div id="id2" style="height: 33px; left: 307px; position: absolute; top: 159px; width: 418px; z-index: 1; " class="style_SkipStroke_1 shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_418_33" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_33">wolfSSL for Keil MDK-ARM</p>
</div>
</div>
</div>
<div style="height: 37px; width: 545px;  height: 37px; left: 191px; position: absolute; top: 80px; width: 545px; z-index: 1; " class="tinyText">
<div style="position: relative; width: 545px; ">
<img src="wolfssl-keil-mdk-arm_files/shapeimage_1.png" alt="" style="height: 37px; left: 0px; position: absolute; top: 0px; width: 545px; "/>
</div>
</div>
<div id="id3" style="height: 25px; left: 200px; position: absolute; top: 84px; width: 43px; z-index: 1; " class="style_SkipStroke_2 shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_43_25" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_34"><a class="class1" title="Home.html" href="Home.html">Home</a></p>
</div>
</div>
</div>
<div id="id4" style="height: 25px; left: 365px; position: absolute; top: 84px; width: 72px; z-index: 1; " class="style_SkipStroke_1 shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_72_25" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_35"><a class="class2" title="https://wolfssl.com/wolfSSL/download/downloadForm.php" href="https://wolfssl.com/wolfSSL/download/downloadForm.php">Download</a></p>
</div>
</div>
</div>
<div id="id5" style="height: 25px; left: 439px; position: absolute; top: 84px; width: 59px; z-index: 1; " class="style_SkipStroke_1 shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_59_25" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_35"><a class="class3" title="License.html" href="License.html">License</a></p>
</div>
</div>
</div>
<div id="id6" style="height: 25px; left: 499px; position: absolute; top: 84px; width: 44px; z-index: 1; " class="style_SkipStroke_1 shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_44_25" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_35"><a class="class4" title="Blog/Blog.html" href="Blog/Blog.html">Blog</a></p>
</div>
</div>
</div>
<div id="id7" style="height: 25px; left: 589px; position: absolute; top: 84px; width: 80px; z-index: 1; " class="style_SkipStroke_1 shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_80_25" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_35"><a class="class5" title="Community.html" href="Community.html">Community</a></p>
</div>
</div>
</div>
<div style="height: 36px; width: 1px;  height: 36px; left: 245px; position: absolute; top: 81px; width: 0px; z-index: 1; " class="tinyText">
<div style="position: relative; width: 0px; ">
<img src="wolfssl-keil-mdk-arm_files/shapeimage_2.png" alt="" style="height: 36px; left: 0px; position: absolute; top: 0px; width: 1px; "/>
</div>
</div>
<div style="height: 37px; width: 1px;  height: 37px; left: 296px; position: absolute; top: 80px; width: 0px; z-index: 1; " class="tinyText">
<div style="position: relative; width: 0px; ">
<img src="wolfssl-keil-mdk-arm_files/shapeimage_3.png" alt="" style="height: 37px; left: 0px; position: absolute; top: 0px; width: 1px; "/>
</div>
</div>
<div style="height: 36px; width: 1px;  height: 36px; left: 363px; position: absolute; top: 81px; width: 0px; z-index: 1; " class="tinyText">
<div style="position: relative; width: 0px; ">
<img src="wolfssl-keil-mdk-arm_files/shapeimage_4.png" alt="" style="height: 36px; left: 0px; position: absolute; top: 0px; width: 1px; "/>
</div>
</div>
<div style="height: 36px; width: 1px;  height: 36px; left: 438px; position: absolute; top: 81px; width: 0px; z-index: 1; " class="tinyText">
<div style="position: relative; width: 0px; ">
<img src="wolfssl-keil-mdk-arm_files/shapeimage_5.png" alt="" style="height: 36px; left: 0px; position: absolute; top: 0px; width: 1px; "/>
</div>
</div>
<div style="height: 37px; width: 1px;  height: 37px; left: 498px; position: absolute; top: 80px; width: 0px; z-index: 1; " class="tinyText">
<div style="position: relative; width: 0px; ">
<img src="wolfssl-keil-mdk-arm_files/shapeimage_6.png" alt="" style="height: 37px; left: 0px; position: absolute; top: 0px; width: 1px; "/>
</div>
</div>
<div style="height: 37px; width: 1px;  height: 37px; left: 589px; position: absolute; top: 80px; width: 0px; z-index: 1; " class="tinyText">
<div style="position: relative; width: 0px; ">
<img src="wolfssl-keil-mdk-arm_files/shapeimage_7.png" alt="" style="height: 37px; left: 0px; position: absolute; top: 0px; width: 1px; "/>
</div>
</div>
<div id="id8" style="height: 25px; left: 671px; position: absolute; top: 84px; width: 61px; z-index: 1; " class="style_SkipStroke_1 shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_61_25" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_35"><a class="class6" title="Contact.html" href="Contact.html">Contact</a></p>
</div>
</div>
</div>
<div id="id9" style="height: 25px; left: 249px; position: absolute; top: 84px; width: 44px; z-index: 1; " class="style_SkipStroke_1 shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_44_25" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_34"><a class="class7" title="About.html" href="About.html">About</a></p>
</div>
</div>
</div>
<div style="height: 36px; width: 1px;  height: 36px; left: 670px; position: absolute; top: 81px; width: 0px; z-index: 1; " class="tinyText">
<div style="position: relative; width: 0px; ">
<img src="wolfssl-keil-mdk-arm_files/shapeimage_8.png" alt="" style="height: 36px; left: 0px; position: absolute; top: 0px; width: 1px; "/>
</div>
</div>
<div id="id10" style="height: 25px; left: 298px; position: absolute; top: 84px; width: 63px; z-index: 1; " class="style_SkipStroke_2 shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_63_25" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_35"><a class="class8" title="Products.html" href="Products.html">Products</a></p>
</div>
</div>
</div>
<div id="id11" style="height: 25px; left: 549px; position: absolute; top: 84px; width: 41px; z-index: 1; " class="style_SkipStroke_1 shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_41_25" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_34"><a class="class9" title="Docs.html" href="Docs.html">Docs</a></p>
</div>
</div>
</div>
<div style="height: 37px; width: 1px;  height: 37px; left: 545px; position: absolute; top: 80px; width: 0px; z-index: 1; " class="tinyText">
<div style="position: relative; width: 0px; ">
<img src="wolfssl-keil-mdk-arm_files/shapeimage_9.png" alt="" style="height: 37px; left: 0px; position: absolute; top: 0px; width: 1px; "/>
</div>
</div>
<div id="id12" style="height: 30px; left: 637px; position: absolute; top: 184px; width: 88px; z-index: 1; " class="style_SkipStroke_1 shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_88_30" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_36">Version 1.0</p>
</div>
</div>
</div>
<div style="height: 16px; width: 20px;  height: 16px; left: 706px; position: absolute; top: 51px; width: 20px; z-index: 1; " class="tinyText">
<div style="position: relative; width: 20px; ">
<img src="wolfssl-keil-mdk-arm_files/shapeimage_10.png" alt="" style="height: 16px; left: 0px; position: absolute; top: 0px; width: 20px; "/>
</div>
</div>
<div style="height: 19px; width: 19px;  height: 19px; left: 707px; position: absolute; top: 25px; width: 19px; z-index: 1; " class="tinyText style_SkipStroke">
<img src="wolfssl-keil-mdk-arm_files/United%20Kingdom(Great%20Britain).png" alt="" style="border: none; height: 19px; width: 19px; "/>
</div>
<div id="id13" style="height: 23px; left: 328px; position: absolute; top: 48px; width: 258px; z-index: 1; " class="style_SkipStroke_1 shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_258_23" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_37">Questions? +1 (425) 245-8247</p>
</div>
</div>
</div>
<div style="height: 19px; width: 19px;  height: 19px; left: 685px; position: absolute; top: 25px; width: 19px; z-index: 1; " class="tinyText style_SkipStroke">
<a href="http://www.wolfssl.jp/" title="http://www.wolfssl.jp"><img src="wolfssl-keil-mdk-arm_files/japan.png" alt="" style="border: none; height: 19px; width: 19px; "/></a>
</div>
<div id="id14" style="height: 28px; left: 593px; position: absolute; top: 44px; width: 119px; z-index: 1; " class="style_SkipStroke_1 shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_119_28" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_38"><a class="class10" title="https://www.wolfssl.com/forums" href="https://www.wolfssl.com/forums">Support <span class="style_2">Forums</span></a></p>
</div>
</div>
</div>
<div style="height: 121px; width: 155px;  height: 121px; left: 32px; position: absolute; top: 5px; width: 155px; z-index: 1; " class="tinyText style_SkipStroke">
<a href="Home.html" title="Home.html"><img src="wolfssl-keil-mdk-arm_files/wolfssl_logo.png" alt="" style="border: none; height: 121px; width: 156px; "/></a>
</div>
<div style="height: 12212px; line-height: 12212px; " class="spacer"> </div>
</div>
<div style="height: 100px; margin-left: 0px; position: relative; width: 770px; z-index: 15; " id="footer_layer">
<div style="height: 0px; line-height: 0px; " class="bumper"> </div>
</div>
</div>
</div>
 </body>

<!-- Mirrored from www.wolfssl.com/wolfSSL/wolfssl-keil-mdk-arm.html by HTTrack Website Copier/3.x [XR&CO'2014], Tue, 17 Jan 2017 13:27:48 GMT -->
</html>
